package com.example.supplychainbackend.controller.dto.sales;

import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderListItemDto {
    String id;
    String	salesOrderNumber;
    String	salesOrderType;
    String	salesOrderName;
    String	customerCode;
    String	customerName;
    String	importance;
    String	lineNumber;
    String	orderLineCategory;
    String	demandStatus;
    String	requiredDeliveryDate;
    String	promisedDeliveryDate;
    Float	originalTotalAmount;
    Float	originalTotalAmountWithTax;
    String	contractNumber;
    String	contractName;
    String	destination;
    String	localCurrency;
    String	originalCurrency;
    Float	exchangeRate;
    String	salesman;
    String	email;
    String	updater;
    String	creator;
    String	orderDate;
    String	tradeTerms;
    Integer	status;
    Integer deliveryStatus;
    String	remarks;
    String	businessDepartment;
    Integer	orderType;
    String	firstSendTime;
    String	latestResendTime;
    String	company;
    String	salesOrganization;
    String	salesChannel;
    String	deliveryCustomerCode;
    String	deliveryCustomerName;
    String	soldToCustomerCode;
    String	soldToCustomerName;
    String	approver;
    String	materialNumber;
    String	materialName;
    String	materialDescription;
    String	materialCategory;
    String	materialSubCategory;
    String	customerMaterialNumber;
    String	customerMaterialName;
    String	cabinetNumber;
    Float	quantity;
    Float	deliveredQuantity;
    Float	undeliveredQuantity;
    Float	inTransitQuantity;
    Float	returningQuantity;
    Float	receivableQuantity;
    String	mainUnit;
    Float	taxRate;
    Float	originalPriceBeforeTax;
    Float	originalAmountBeforeTax;
    Float	originalUnitTaxAmount;
    Float	originalTaxAmount;
    Float	originalPriceWithTax;
    Float	originalAmountWithTax;
    Float	localPriceBeforeTax;
    Float	localAmountBeforeTax;
    Float	localUnitTaxAmount;
    Float	localTaxAmount;
    Float	localPriceWithTax;
    Float	localAmountWithTax;
    String	amountCalculationBase;
    String	exportDeliveryLocationCode;
    String	exportDeliveryLocation;
    String	referenceDocNumber;
    String	bomTemplate;
    String	materialParamTemplate;
    String	deliveryGroupNumber;
    String	deliveryGroupName;
    String	factory;
    String	storageLocation;
    Float	costPrice;
    Float	totalCostAmount;

    String	userName;
    String	enterpriseName;
    Boolean	onChain;
    String	transactionId;
    String	commitTime;
    String	userId;
    String	enterpriseId;
}
